/**
 * Copyright (C), 2024, xxxx有限公司
 * FileName: Order
 * Author:   TLVM
 * Date:     3/23/2024 11:33 PM
 * Description: 订单测试类
 * History:
 * <author>          <time>          <version>          <desc>
 * 作者姓名           修改时间           版本号              描述
 */
package com.iqcctt.businessprocess.demo;

import com.iqcctt.businessprocess.annotation.BPE;
import com.iqcctt.businessprocess.annotation.BusinessProcess;

import java.util.Date;

/**
 * 〈一句话功能简述〉<br>
 * 〈订单测试类〉
 *
 * @author TLVM
 * @create 3/23/2024
 * @since 1.0.0
 */
@BusinessProcess(
        BPE={
        //待发货时通知商家
        @BPE(condiField={"state"},fieldValue = {"1"},exeCls="com.iqcctt.businessprocess.demo.DemoServiceImpl",
                exeMethod = "testFun",paramVal={"createUser","merchantUser","id","state"}),
        //已发货通知用户
        @BPE(condiField={"state"},fieldValue = {"2"},exeCls="com.iqcctt.businessprocess.demo.DemoServiceImpl",
                exeMethod = "testFun",paramVal={"merchantUser","createUser","id","state"}),
        //测试同一个条件不同发送，已发货通知商家
        @BPE(condiField={"state"},fieldValue = {"2"},exeCls="com.iqcctt.businessprocess.demo.DemoServiceImpl",
                exeMethod = "testFun2",paramVal={"merchantUser","id"}),
        //已收货通知商家
        @BPE(condiField={"state"},fieldValue = {"3"},exeCls="com.iqcctt.businessprocess.demo.DemoServiceImpl",
                exeMethod = "testFun",paramVal={"createUser","merchantUser","id","state"})
})
public class Order {
    //订单ID
    private String id;
    //订单状态 1:待发货 2：已发货/待收货 3：已收货  当待发货时需要通知商家进行发货、当已发货时需要通知用户和商家已发货、当已收货时需要通知商家用户已收货；
    private Integer state;
    //用户信息
    private String createUser;
    //用户创建时间
    private Date createTime;
    //订单金额
    private String money;
    //商家用户信息
    private String merchantUser;
    //收货人地址
    private String shippingAddress;
    //收货人手机号
    private String shippingPhone;
    //订单创建时间
    private Date orderTime;
    //快递单号
    private String tracking;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getMoney() {
        return money;
    }

    public void setMoney(String money) {
        this.money = money;
    }

    public String getMerchantUser() {
        return merchantUser;
    }

    public void setMerchantUser(String merchantUser) {
        this.merchantUser = merchantUser;
    }

    public String getShippingAddress() {
        return shippingAddress;
    }

    public void setShippingAddress(String shippingAddress) {
        this.shippingAddress = shippingAddress;
    }

    public String getShippingPhone() {
        return shippingPhone;
    }

    public void setShippingPhone(String shippingPhone) {
        this.shippingPhone = shippingPhone;
    }

    public Date getOrderTime() {
        return orderTime;
    }

    public void setOrderTime(Date orderTime) {
        this.orderTime = orderTime;
    }

    public String getTracking() {
        return tracking;
    }

    public void setTracking(String tracking) {
        this.tracking = tracking;
    }

    @Override
    public String toString() {
        return "Order{" +
                "id='" + id + '\'' +
                ", state=" + state +
                ", createUser='" + createUser + '\'' +
                ", createTime=" + createTime +
                ", money='" + money + '\'' +
                ", merchantUser='" + merchantUser + '\'' +
                ", shippingAddress='" + shippingAddress + '\'' +
                ", shippingPhone='" + shippingPhone + '\'' +
                ", orderTime=" + orderTime +
                ", tracking='" + tracking + '\'' +
                '}';
    }
}
